package org.morningangel.dao;

import java.util.List;

import org.morningangel.bean.User;

public interface UserDao {
	
	/**
	 * 用户注册
	 * @param user 			要保存的User对象
	 * @return					返回受影响的记录数
	 */
	public Integer register(User user);
	/**
	 * 用户账号(手机/邮箱)登陆
	 * @param account 	手机号或邮箱	
	 * @return					有则返回查询出的User对象，无则返回null
	 */
	public User login(String account);
	/**
	 * 用户qq登陆
	 * @param qq				qq的openId
	 * @return					有则返回查询出的User对象，无则返回null
	 */
	public User loginByQQ(String qq);
	/**
	 * 用户微博登陆
	 * @param weibo			weibo的id号
	 * @return					有则返回查询出的User对象，无则返回null
	 */
	public User loginByWeibo(String weibo);
	/**
	 * 用户信息修改
	 * @param user			要修改的User对象
	 */
	public Integer update(User user);
	/**
	 * 获取用户信息
	 * @param id				用户id
	 * @return					有则返回查询出的User对象，无则返回null
	 */
	public User getById(Integer id);
	/**
	 * 获得注册用户的总数：
	 * @return	返回注册用户总数
	 */
	public Integer count();
	/**
	 * 分页查询用户
	 * @param pageNum	页数	
	 * @param pageSize	每页的大小
	 * @return					返回User列表
	 */
	public List<User> listPage(Integer pageNum, Integer pageSize);
	/**
	 * 根据关键字搜索用户，最多返回前50条记录
	 * @param key 			关键字，对userName,phone,email进行模糊查找
	 * @return					返回User列表
	 */
	public List<User> search(String key);
}
